package com.qiyuan.essay.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.qiyuan.common.core.domain.BaseEntity;
import com.qiyuan.common.core.validate.AddGroup;
import com.qiyuan.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.List;


/**
 * 文章信息业务对象 blog_article
 *
 * @author ruoyi
 * @date 2022-04-16
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("文章信息业务对象")
public class BlogArticleBo extends BaseEntity {

    /**
     *
     */
    @ApiModelProperty(value = "", required = true)
    private Long id;

    /**
     * 文章封面
     */
    @ApiModelProperty(value = "文章封面", required = true)
    private String articleHeadPic;

    /**
     * 文章名称
     */
    @ApiModelProperty(value = "文章名称", required = true)
    private String articleName;

    /**
     * 文章标签
     */
    @ApiModelProperty(value = "文章标签", required = true)
    private String articleTag;

    /**
     * 文章标签列表
     */
    @ApiModelProperty(value = "文章标签S")
    private List<String> articleTags;


    /**
     * 文章简介
     */
    @ApiModelProperty(value = "文章简介", required = true)
    private String articleRemark;

    /**
     * 文章阅读量
     */
    @ApiModelProperty(value = "文章阅读量", required = true)
    private Long articleReadCount;

    /**
     * 文章状态
     */
    @ApiModelProperty(value = "文章状态", required = true)
    private Long articleState;

    /**
     * 是否公开
     */
    @ApiModelProperty(value = "是否公开", required = true)
    private String disclosure;
    /**
     *
     */
    @ApiModelProperty(value = "", required = true)
    private Long managerId;

    /**
     * 作者名称
     */
    @ApiModelProperty(value = "作者名称", required = true)
    private String managerName;

    /**
     * 文章内容
     */
    @ApiModelProperty(value = "文章内容", required = true)
    @NotBlank(message = "文章内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String articleContent;

    /**
     * 文章类型
     */
    @ApiModelProperty(value = "文章类型", required = true)
    private Integer articleType;

    /**
     * 文章点赞数
     */
    @ApiModelProperty(value = "文章点赞数", required = true)
    private Long articleStarNum;

    /**
     * 文章评论数
     */
    @ApiModelProperty(value = "文章评论数", required = true)
    private Long articleConNum;

    /**
     * 附件
     */
    @ApiModelProperty(value = "附件", required = true)
    private String enclosure;
    /**
     * 首页推荐
     */
    @ApiModelProperty(value = "首页推荐", required = true)
    private String topRecommend;

    /**
     * 好文
     */
    @ApiModelProperty(value = "好文", required = true)
    private String good;

    /**
     * 推荐
     */
    @ApiModelProperty(value = "推荐", required = true)
    private String recommend;

    /**
     * 官方
     */
    @ApiModelProperty(value = "官方", required = true)
    private String official;

    /**
     * 置顶
     */
    @ApiModelProperty(value = "置顶", required = true)
    private String top;

    /**
     * 精品
     */
    @ApiModelProperty(value = "精品", required = true)
    private String boutique;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", required = true)
    private String remark;


}
